package com.imut.oa.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.imut.oa.pojo.dto.AdminUpdateDTO;
import com.imut.oa.pojo.entity.User;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestParam;

/**
* @author YRX
* @description 针对表【user】的数据库操作Service
* @createDate 2024-11-25 16:22:49
*/
public interface UserService extends IService<User> {
    /**
     * 用户注册
     * @param userAccount 用户账号
     * @param userPassword   用户密码
     * @param checkPassword  确认密码
     * @return
     */
    long userRegister(String userAccount, String userPassword, String checkPassword);


    /**
     * 用户登录
     * @param userAccount 用户账号
     * @param userPassword 用户密码
     * @param request 请求
     * @return
     */
 //   User userLogin(String userAccount, String userPassword, HttpServletRequest request);

    String userLogin(@RequestParam String key, String userAccount, String userPassword, String code, HttpServletRequest request);

    User getSafetyUser(User originUser);
    /**
     * 修改管理员信息
     * @param adminUpdateDTO
     */
    void updateAdminInfo(AdminUpdateDTO adminUpdateDTO);

    void updateAvatar(User user);

    /**
     * 修改密码
     * @param currentId 当前用户id
     * @param oldPwd 旧密码
     * @param newPwd 新密码
     * @param rePwd  确认密码
     */
    void updatePassword(Long currentId, String oldPwd, String newPwd, String rePwd);
}
